﻿@model IEnumerable<ResultTK>
@using Kendo.Mvc.UI

@if (Model.Count() > 0)
{
    // Tinh phan tram
    string data = "<script> _data=[";
    int TongHoSo = 0;

    TongHoSo = Model.Count();
    var result = Model.GroupBy(e => new { e.MaChuyenNganh, e.TenChuyenNganh }).Select(e =>
        new DynamicData
        {
            ID = e.Key.MaChuyenNganh,
            Name = e.Key.TenChuyenNganh,
            Total = e.Count()
        });
    foreach (var item in result)
    {
        data += "['" + item.Name + "'," + Math.Round((float)item.Total / TongHoSo, 3).ToString().Replace(',', '.') + "],";
    }

    data = data.Substring(0, data.Length - 1);
    data += "]; ";
    data += " </script>";

    @Html.Raw(data)

    <div id="container"></div>
    <script>

        $(function () {
            $('#container').highcharts({
                chart: {
                    plotBackgroundColor: null,
                    plotBorderWidth: 0,//null,
                    plotShadow: false
                },
                title: {
                    text: 'Thống kê hồ sơ theo Chuyên Ngành đào tạo (Khối @ViewBag.Khoi)',
                    x: -20
                },
                tooltip: {
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                },
                subtitle: {
                    text: 'Ngành: @Html.Raw(ViewBag.TenNganh), bậc đào tạo: @Html.Raw(ViewBag.HeDaoTao)<br/>Số liệu từ: @(ViewBag.TuNgay + " - " + ViewBag.DenNgay)<br/>Tổng số hồ sơ: @TongHoSo',
                    x: -20
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: 'pointer',
                        dataLabels: {
                            enabled: true,
                            format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                            style: {
                                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                            }
                        }
                    },
                    showInLegend: true
                },
                series: [{
                    type: 'pie',
                    name: 'Lượng hồ sơ chiếm',
                    data: _data
                }]
            });
        });

    </script>
    <hr />
    <a class="btn btn-danger" id='print' onclick="tableToExcel( '#Grid table','tkChuyenNganh')">Xuất Excel</a>
    <div class="clear pb10 "> </div>
    <div class="table-responsive">
        @( Html.Kendo().Grid(Model)
                    .Name("Grid")
                        .Pageable(page => page  // Phân trang

                            .Info(true)   // Hiển thị thông tin dữ liệu dưới cùng góc bên phải Grid
                            .Refresh(true)   // Hiển thị nút làm mới Grid
                                    .Messages(mess => mess
                                    .Display("{0}-{1} của {2} bản ghi.")
                                    .Empty("Không có dữ liệu")
                                    .Refresh("Làm mới")
                                    .First("Trang đầu tiên")
                                    .Last("Trang cuối cùng")
                                    .Next("Trang tiếp")
                                    .Previous("Trang trước")
                                )
                        )
                    .Columns(columns =>
                    {
                        columns.Bound(p => p.MaTS);
                        columns.Bound(p => p.FullName);
                        columns.Bound(p => p.SBD);
                        columns.Bound(p => p.NgaySinh);
                        columns.Bound(p => p.TenBacDaoTao);
                        columns.Bound(p => p.TenKhoiThi);
                        columns.Bound(p => p.TenNganh);
                        columns.Bound(p => p.TenChuyenNganh);
                        columns.ForeignKey(p => p.HinhThucDK, (System.Collections.IEnumerable)ViewBag.HinhThucDK, "Value", "Text")
                                .Title("Hình thức đăng ký");
                    })
                    .DataSource(dataSource => dataSource
                        .Ajax()
                     .PageSize(10)
                     .Sort(e =>
                     {
                         e.Add(p => p.MaChuyenNganh);
                         e.Add(p => p.MaNganh);
                         e.Add(p => p.MaKhoiThi);
                         e.Add(p => p.MaBacDaoTao);
                         e.Add(p => p.MaTS);
                         e.Add(p => p.HinhThucDK);
                     }))
        )
    </div>
}
else
{
    <h4 class="no-data">Không có dữ liệu</h4>
}